home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Die Speccy' 97
/
Die Speccy' 97.iso
/
amiga_system
/
the_aminet
/
comm
/
cnet
/
yachtzee.lha
/
Yacht-Zee
< prev
next >
Wrap
Text File
|
1995-10-07
|
24KB
|
376 lines
/**************************************************************************\
$VER: Yacht-Zee, v1.1 (7-Oct-95) by Dotoran!
\**************************************************************************/
options results ; signal on SYNTAX ; signal on ERROR ; signal on IOERR
tr=transmit ; se=sendstring ; gc=getchar ; gu=getuser ; gs=getscratch
qu=query ; changewhere 'Yacht-Zee v1.1!' ; gu 1 ; handle=result
randice=1 /* Which RANDOM Routine? (0=Normal, 1=More Random?) */
gu 28 ; term=result ; a=random(,,time('s'))
if term<2 | term=3 then do ; tr 'f1n8' ; sp=copies(' ',10)
tr sp'c4***********************************************************'
tr sp'c4* *'
tr sp'c4* c6You need cfIBMc6-cfANSI caColor ceGraphics c6to play cbYacht-Zeec6! c4*'
tr sp'c4* *'
tr sp'c4***********************************************************'
tr sp sp sp' c6<c9enterc6>i1' ; exit ; end
START:
dice='123456' ; throw.=1 ; throws.=3 ; players=1 ; play=1
sp='36H'||copies(' ',42) ; gu 1 ; player.1=result
do i=1 to 4 ; do j=1 to 13 ; gd.i.j=-1 ; end j ; end i
up.play=6 ; dn.play=7 ; cls ; call SCREEN ; call READHIGHS
se '36Hc6Do You cdNeed cbInstructionsc6? (cayc6/cbNc6)c9: '
gc ; a=result ; if a~='Y' then do ; tr 'cbNo.'sp ; signal PLAY ; end
tr 'caYes!' ; signal DOCS
PLAY:
if up.play=0 then do ; totU.play=0 ; do k=1 to 6 ; totU.play=totU.play+gd.play.k ; end k
tr '23Hc5'right(totU.play,3) ; bonus.play=0 ; if totU.play>=63 then do ; bonus.play=35 ; totU.play=totU.play+35 ; end
tr '23Hcd'right(bonus.play,3) ; up.play=-1 ; end
if dn.play=0 then do ; totD.play=0 ; do k=7 to 13 ; totD.play=totD.play+gd.play.k ; end k
tr '23Hc5'right(totD.play,3) ; dn.play=-1 ; end
if up.play=-1 & dn.play=-1 then signal DONE
tr '50Hc6-cb1c6- cd'left(player.play,20)
throw.=1 ; throws.play=3 ; call THROWDICE
PLAY1:
se '50H'||right(sp,25)||'50Hce' ; gc ; a=result ; call CHECK
if c2d(a)=13 then a='T' ; if c2d(a)=27 then a='Q'
a=index('12345ABCDEFGHIJKLMTQV',a) ; if a=0 then signal PLAY1
if a=19 then do ; tr 'Throw Dice' ; signal THROW ; end
if a=20 then do ; tr 'Quit Game' ; signal QUIT ; end
if a=21 then do ; tr 'View Highs' ; signal HIGHS ; end
if a=1 then signal TOG1 ; if a=2 then signal TOG2
if a=3 then signal TOG3 ; if a=4 then signal TOG4
if a=5 then signal TOG5
if a=6 then do ; tr 'Aces' ; signal ACES ; end
if a=7 then do ; tr 'Twos' ; signal TWOS ; end
if a=8 then do ; tr 'Threes' ; signal THREES ; end
if a=9 then do ; tr 'Fours' ; signal FOURS ; end
if a=10 then do ; tr 'Fives' ; signal FIVES ; end
if a=11 then do ; tr 'Sixes' ; signal SIXES ; end
if a=12 then do ; tr '3 of a Kind' ; signal KIND3 ; end
if a=13 then do ; tr '4 of a Kind' ; signal KIND4 ; end
if a=14 then do ; tr 'Full House' ; signal FULL ; end
if a=15 then do ; tr 'Sm. Straight' ; signal SMSTRT ; end
if a=16 then do ; tr 'Lg. Straight' ; signal LGSTRT ; end
if a=17 then do ; tr 'cfYACHT-ZEE!' ; signal YACHT ; end
if a=18 then do ; tr 'Chance' ; signal CHANCE ; end
THROW:
if throws.play=0 then do
tr '36Hc6You are c9OUT c6of cbTHROWSc6!w1'sp ; signal PLAY1 ; end
a=0 ; do i=1 to 5 ; a=a+throw.i ; end i ; if a=0 then do
tr '36Hc6I cdneed c6some caDICE c6to c9THROW c6first!w1'sp ; signal PLAY1 ; end
call THROWDICE ; signal PLAY1
TOG1:
if throws.play=0 then do
tr '36Hc6You are c9OUT c6of cbTHROWSc6!w1'sp ; signal PLAY1 ; end
if throw.1=0 then do ; tr 'c9Throw8HTHROW' ; d=1 ; end
if throw.1=1 then do ; tr 'caKeep!8HKEEP!' ; d=0 ; end
throw.1=d ; signal PLAY1
TOG2:
if throws.play=0 then do
tr '36Hc6You are c9OUT c6of cbTHROWSc6!w1'sp ; signal PLAY1 ; end
if throw.2=0 then do ; tr 'c9Throw6HTHROW' ; d=1 ; end
if throw.2=1 then do ; tr 'caKeep!6HKEEP!' ; d=0 ; end
throw.2=d ; signal PLAY1
TOG3:
if throws.play=0 then do
tr '36Hc6You are c9OUT c6of cbTHROWSc6!w1'sp ; signal PLAY1 ; end
if throw.3=0 then do ; tr 'c9Throw4HTHROW' ; d=1 ; end
if throw.3=1 then do ; tr 'caKeep!4HKEEP!' ; d=0 ; end
throw.3=d ; signal PLAY1
TOG4:
if throws.play=0 then do
tr '36Hc6You are c9OUT c6of cbTHROWSc6!w1'sp ; signal PLAY1 ; end
if throw.4=0 then do ; tr 'c9Throw2HTHROW' ; d=1 ; end
if throw.4=1 then do ; tr 'caKeep!2HKEEP!' ; d=0 ; end
throw.4=d ; signal PLAY1
TOG5:
if throws.play=0 then do
tr '36Hc6You are c9OUT c6of cbTHROWSc6!w1'sp ; signal PLAY1 ; end
if throw.5=0 then do ; tr 'c9Throw0HTHROW' ; d=1 ; end
if throw.5=1 then do ; tr 'caKeep!0HKEEP!' ; d=0 ; end
throw.5=d ; signal PLAY1
ACES:
if gd.play.1~=-1 then do
tr '36Hc6Your ceAces c6are c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
tot=0 ; do k=1 to 5 ; if dice.k=1 then tot=tot+1 ; end k
se '36Hc6Use cb"ca'||tot||'cb" c6for your ceAcesc6? (caYc6/cbnc6)c9: '
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.1=tot ; tr 'ce3H'||right(tot,3)
up.play=up.play-1 ; signal PLAY
TWOS:
if gd.play.2~=-1 then do
tr '36Hc6Your ceTwos c6are c9already cbfilled cdin!w1'sp ; signal PLAY1 ; end
tot=0 ; do k=1 to 5 ; if dice.k=2 then tot=tot+2 ; end k
se '36Hc6Use cb"ca'||tot||'cb" c6for your ceTwosc6? (caYc6/cbnc6)c9: '
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.2=tot ; tr 'ce3H'||right(tot,3)
up.play=up.play-1 ; signal PLAY
THREES:
if gd.play.3~=-1 then do
tr '36Hc6Your ceThrees c6are c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
tot=0 ; do k=1 to 5 ; if dice.k=3 then tot=tot+3 ; end k
se '36Hc6Use cb"ca'||tot||'cb" c6for your ceThreesc6? (caYc6/cbnc6)c9: '
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.3=tot ; tr 'ce3H'||right(tot,3)
up.play=up.play-1 ; signal PLAY
FOURS:
if gd.play.4~=-1 then do
tr '36Hc6Your ceFours c6are c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
tot=0 ; do k=1 to 5 ; if dice.k=4 then tot=tot+4 ; end k
se '36Hc6Use cb"ca'||tot||'cb" c6for your ceFoursc6? (caYc6/cbnc6)c9: '
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.4=tot ; tr 'ce3H'||right(tot,3)
up.play=up.play-1 ; signal PLAY
FIVES:
if gd.play.5~=-1 then do
tr '36Hc6Your ceFives c6are c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
tot=0 ; do k=1 to 5 ; if dice.k=5 then tot=tot+5 ; end k
se '36Hc6Use cb"ca'||tot||'cb" c6for your ceFivesc6? (caYc6/cbnc6)c9: '
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.5=tot ; tr 'ce3H'||right(tot,3)
up.play=up.play-1 ; signal PLAY
SIXES:
if gd.play.6~=-1 then do
tr '36Hc6Your ceSixes c6are c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
tot=0 ; do k=1 to 5 ; if dice.k=6 then tot=tot+6 ; end k
se '36Hc6Use cb"ca'||tot||'cb" c6for your ceSixesc6? (caYc6/cbnc6)c9: '
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.6=tot ; tr 'ce3H'||right(tot,3)
up.play=up.play-1 ; signal PLAY
KIND3:
if gd.play.7~=-1 then do
tr '36Hc6Your ce3 of a Kind c6is c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
c.=0 ; do k=1 to 5 ; a=dice.k ; c.a=c.a+1 ; end k ; bad=1
do k=1 to 6 ; if c.k>=3 then bad=0 ; end k ; if bad=1 then do
tr "36Hc6You don't c9HAVE c6a ce3 of a Kindc6!w1"sp ; end
tot=0 ; if bad=0 then do k=1 to 5 ; tot=tot+dice.k ; end k
se '36Hc6Use cb"ca'||tot||'cb" c6for your ce3 of a Kindc6? (caYc6/cbnc6)c9: '
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.7=tot ; tr 'ce23H'||right(tot,3)
dn.play=dn.play-1 ; signal PLAY
KIND4:
if gd.play.8~=-1 then do
tr '36Hc6Your ce4 of a Kind c6is c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
c.=0 ; do k=1 to 5 ; a=dice.k ; c.a=c.a+1 ; end k ; bad=1
do k=1 to 6 ; if c.k>=4 then bad=0 ; end k ; if bad=1 then do
tr "36Hc6You don't c9HAVE c6a ce4 of a Kindc6!w1"sp ; end
tot=0 ; if bad=0 then do k=1 to 5 ; tot=tot+dice.k ; end k
se '36Hc6Use cb"ca'||tot||'cb" c6for your ce4 of a Kindc6? (caYc6/cbnc6)c9: '
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.8=tot ; tr 'ce23H'||right(tot,3)
dn.play=dn.play-1 ; signal PLAY
FULL:
if gd.play.9~=-1 then do
tr '36Hc6Your ceFull House c6is c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
c.=0 ; do k=1 to 5 ; a=dice.k ; c.a=c.a+1 ; end k ; bad=0 ; do k=1 to 6
if c.k=2 then bad=bad+1 ; if c.k=3 then bad=bad+2 ; end k ; if bad<3 then do
tr "36Hc6You don't c9HAVE c6a ceFull Housec6!w1"sp ; end
if bad>2 then do ; tot=25 ; se '36HcaFill c6in your ceFull House c6now? (caYc6/cbnc6)c9: ' ; end
else do ; tot=0 ; se '36Hc6Use cb"ca0cb" c6for your ceFull Housec6? (caYc6/cbnc6)c9: ' ; end
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.9=tot ; tr 'ce23H'||right(tot,3)
dn.play=dn.play-1 ; signal PLAY
SMSTRT:
if gd.play.10~=-1 then do
tr '36Hc6Your ceSm. Straight c6is c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
c.=0 ; do k=1 to 5 ; a=dice.k ; c.a=c.a+1 ; end k ; bad=1
if c.1>0 & c.2>0 & c.3>0 & c.4>0 then bad=0
if c.2>0 & c.3>0 & c.4>0 & c.5>0 then bad=0
if c.3>0 & c.4>0 & c.5>0 & c.6>0 then bad=0 ; if bad=1 then do
tr "36Hc6You don't c9HAVE c6a ceSm. Straightc6!w1"sp ; end
if bad=0 then do ; tot=30 ; se '36HcaFill c6in your ceSm. Straight c6now? (caYc6/cbnc6)c9: ' ; end
else do ; tot=0 ; se '36Hc6Use cb"ca0cb" c6for your ceSm. Straightc6? (caYc6/cbnc6)c9: ' ; end
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.10=tot ; tr 'ce23H'||right(tot,3)
dn.play=dn.play-1 ; signal PLAY
LGSTRT:
if gd.play.11~=-1 then do
tr '36Hc6Your ceLg. Straight c6is c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
c.=0 ; do k=1 to 5 ; a=dice.k ; c.a=c.a+1 ; end k ; bad=1
if c.1=1 & c.2=1 & c.3=1 & c.4=1 & c.5=1 then bad=0
if c.2=1 & c.3=1 & c.4=1 & c.5=1 & c.6=1 then bad=0 ; if bad=1 then do
tr "36Hc6You don't c9HAVE c6a ceLg. Straightc6!w1"sp ; end
if bad=0 then do ; tot=40 ; se '36HcaFill c6in your ceLg. Straight c6now? (caYc6/cbnc6)c9: ' ; end
else do ; tot=0 ; se '36Hc6Use cb"ca0cb" c6for your ceLg. Straightc6? (caYc6/cbnc6)c9: ' ; end
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.11=tot ; tr 'ce23H'||right(tot,3)
dn.play=dn.play-1 ; signal PLAY
YACHT:
if gd.play.12~=-1 then do
tr '36Hc6Your cfYACHT-ZEE! c6is c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
c.=0 ; do k=1 to 5 ; a=dice.k ; c.a=c.a+1 ; end k ; bad=1
do k=1 to 6 ; if c.k=5 then bad=0 ; end k ; if bad=1 then do
tr "36Hc6You don't c9HAVE c6a cfYACHT-ZEEc6!w1"sp ; end
if bad=0 then do ; tot=50 ; se '36HcaFill c6in your cfYACHT-ZEE! c6now? (caYc6/cbnc6)c9: ' ; end
else do ; tot=0 ; se '36Hc6Use cb"ca0cb" c6for your cfYACHT-ZEEc6? (caYc6/cbnc6)c9: ' ; end
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'caYes'sp ; gd.play.12=tot ; tr 'ce23H'||right(tot,3)
dn.play=dn.play-1 ; signal PLAY
CHANCE:
if gd.play.13~=-1 then do
tr '36Hc6Your ceChance c6is c9already cbfilled c6in!w1'sp ; signal PLAY1 ; end
tot=0 ; do k=1 to 5 ; tot=tot+dice.k ; end k
se '36Hc6Use cb"ca'||tot||'cb" c6for your ceChancec6? (caYc6/cbnc6)c9: '
gc ; a=result ; if a='N' then do ; tr 'cbNo.'sp ; signal PLAY1 ; end
tr 'c6Yes'sp ; gd.play.13=tot ; tr 'ce23H'||right(tot,3)
dn.play=dn.play-1 ; signal PLAY
DONE:
totG.play=totU.play+totD.play ; tr '23Hcd'right(totG.play,3)
call CHECKHIGHS ; se '36HcbGame ceOverc9; c6Want to cfPlay cbAgainc6? (caYc6/cbnc6)c9: '
gc ; a=result ; if a='N' then do ; tr 'cbNo.' ; exit ; end
tr 'caYes!' ; signal START
THROWDICE:
if randice=1 & throws.play=3 then do ; a=random(1,6) ; b=6-a
dice=right(dice,a)||left(dice,b) ; end
se '
' ; do i=1 to 5 ; if throw.i=0 then iterate i
do j=1 to 4 ; dice.i=substr(dice,random(1,6),1)
col=29+(i*8) ; call DICE ; end j ; end i
throws.play=throws.play-1 ; tr '69Hc9'||throws.play
tr '8HcaKEEP! KEEP! KEEP! KEEP! KEEP!' ; throw.=0
return
HIGHS:
tr '35H
Yacht-Zee Top Five Highest Scores
'
tr '35Hcd 'left(hiwho.1'ce',28,'.')'ca'left(hiwhat.1,10)
tr '35Hc5 'left(hiwho.2'c6',28,'.')'c2'left(hiwhat.2,10)
tr '35Hcd 'left(hiwho.3'ce',28,'.')'ca'left(hiwhat.3,10)
tr '35Hc5 'left(hiwho.4'c6',28,'.')'c2'left(hiwhat.4,10)
tr '35Hcd 'left(hiwho.5'ce',28,'.')'ca'left(hiwhat.5,10)
se '36Hc6Press cfENTER c6to continue...i1'sp
tr '35H
Menu of Available Play Commands
'
tr '34H│C
1
-
5
:
Toggle KEEP!/THROW Status.C
│'
tr '34H│
<CR>
or
T
:
Throw/ReThrow the Dice.C
│'
tr '34H│C
A
-
M
:
Place Throw On Score Card.C
│'
tr '34H│
ESC
or
Q
:
Quit & Forfeit Game Now.C
│'
tr '34H│C
V
:
View Top 5 Highest Scores.C
│'
signal PLAY1
READHIGHS:
if ~exists('pfiles:single/Yacht-Zee.Highs') then do
call open(f1,'pfiles:single/Yacht-Zee.Highs','w')
do i=1 to 5 ; call writeln(f1,'No One Yet|0|x') ; end i
call close(f1) ; end
call open(f1,'pfiles:single/Yacht-Zee.Highs','r') ; do i=1 to 5
hi.i=readln(f1) ; parse var hi.i hiwho.i'|'hiwhat.i'|'junk ; end i
call close(f1)
return
CHECKHIGHS:
if totG.play>hiwhat.5 then do ; hiwhat.5=totG.play ; hiwho.5=handle
se '36Hc6A cbNEW ceHigh Scorec6...' ; do i=1 to 4
if hiwhat.5>hiwhat.i then do
ts=hiwhat.i ; th=hiwho.i ; hiwhat.i=hiwhat.5 ; hiwho.i=hiwho.5
hiwhat.5=ts ; hiwho.5=th ; end ; end i ; end
se 'w1cbSaving...' ; call open(f1,'pfiles:single/Yacht-Zee.Highs','w')
do i=1 to 5 ; call writeln(f1,hiwho.i'|'hiwhat.i'|x') ; end i
call close(f1) ; tr 'w1'sp
return
DICE:
if throw.i=0 then return
lab='DICE'||dice.i ; signal (lab)
DICE1:
tr ''||col||'H███████' ; tr ''||col||'H███▀███'
tr ''||col||'H███████' ; tr ''||col||'H▀▀▀▀▀▀▀'
return
DICE2:
tr ''||col||'H█▀█████' ; tr ''||col||'H███████'
tr ''||col||'H█████▀█' ; tr ''||col||'H▀▀▀▀▀▀▀'
return
DICE3:
tr ''||col||'H█▀█████' ; tr ''||col||'H███▀███'
tr ''||col||'H█████▀█' ; tr ''||col||'H▀▀▀▀▀▀▀'
return
DICE4:
tr ''||col||'H█▀███▀█' ; tr ''||col||'H███████'
tr ''||col||'H█▀███▀█' ; tr ''||col||'H▀▀▀▀▀▀▀'
return
DICE5:
tr ''||col||'H█▀███▀█' ; tr ''||col||'H███▀███'
tr ''||col||'H█▀███▀█' ; tr ''||col||'H▀▀▀▀▀▀▀'
return
DICE6:
tr ''||col||'H█▀███▀█' ; tr ''||col||'H█▀███▀█'
tr ''||col||'H█▀███▀█' ; tr ''||col||'H▀▀▀▀▀▀▀'
return
SCREEN:
tr 'f1@4
┌────────────────────┬───┬───┬───┬───────────────────────────────────────────┐'
tr '│
Yacht-Zee v1.1
│
-
1
-
│
-
2
-
│
-
3
-
│
Written by
Dotoran
of
Frontiers BBS!
│'
tr '├──────────────────┬─┼───┼───┼───┼───────────────────────────────────────────┤'
tr '│
Aces
(
Need 3
)
│
A
│ │ │ │
█▀███▀█ █▀███▀█ █▀███▀█ █▀███▀█ █▀███▀█
│'
tr '│
Twos
(
Need 6
)
│
B
│ │ │ │
███▀███ ███▀███ ███▀███ ███▀███ ███▀███
│'
tr '│
Threes
(
Need 9
)
│
C
│ │ │ │
█▀███▀█ █▀███▀█ █▀███▀█ █▀███▀█ █▀███▀█
│'
tr '│
Fours
(
Need 12
)
│
D
│ │ │ │
▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀
│'
tr '│
Fives
(
Need 15
)
│
E
│ │ │ │
-
1
-C-
2
-C-
3
-C-
4
-C-
5
-
│'
tr '│
Sixes
(
Need 18
)
│
F
│ │ │ │
KEEP! KEEP! KEEP! KEEP! KEEP!
│'
tr '├──────────────────┴─┼───┼───┼───┼───────────────────────────────────────────┤'
tr '│
Upper Card Total
│ │ │ │
Which Player
:C
│'
tr '│
Bonus if Total
>
63
│ │ │ │
Play Command
:C
│'
tr '╞══════════════════╤═╪═══╪═══╪═══╪═══════════════════════════════════════════╡'
tr '│
3 of a Kind
(
??
)
│
G
│ │ │ │
Menu of Available Play Commands
│'
tr '│
4 of a Kind
(
??
)
│
H
│ │ │ │C│'
tr '│
Full House
(
25
)
│
I
│ │ │ │C
1
-
5
:
Toggle KEEP!/THROW Status.C
│'
tr '│
Sm. Straight
(
30
)
│
J
│ │ │ │
<CR>
or
T
:
Throw/ReThrow the Dice.C
│'
tr '│
Lg. Straight
(
40
)
│
K
│ │ │ │C
A
-
M
:
Place Throw On Score Card.C
│'
tr '│
YACHT-ZEE
(
50
)
│
L
│ │ │ │
ESC
or
Q
:
Quit & Forfeit Game Now.C
│'
tr '│C
Chance
(
??
)
│
M
│ │ │ │C
V
:
View Top 5 Highest Scores.C
│'
tr '├──────────────────┴─┼───┼───┼───┼───────────────────────────────────────────┤'
tr '│
Lower Card Total
│ │ │ │
Number of Dice Throws Remaining
:C
│'
tr '│
GAME GRAND TOTAL
│ │ │ │C│'
tr '└────────────────────┴───┴───┴───┴───────────────────────────────────────────┘H'
return
DOCS:
tr "f1@4
┌────────────────────┬───┬───┬───┬───────────────────────────────────────────┐"
tr "│
Yacht-Zee v1.1
│
-
1
-
│
-
2
-
│
-
3
-
│
Written by
Dotoran
of
Frontiers BBS!
│"
tr "├────────────────────┴───┴───┴───┴───────────────────────────────────────────┤"
tr "│
Given
5
dice
, roll
any combination
of these
dice
as many as
3
times, while
│"
tr "│
trying to fill in your
Score Card
to give you the
Highest Score
possible.
│"
tr "│C│"
tr "│
On your
Score Card
, try to
Roll
the following
:C
│"
tr "│C│"
tr "│C
Aces
:
Any number of
1's
from
0
to
5
.
(
Need
3
for
35 pt.
BONUS
)
│"
tr "│C
Twos
:
Any number of
2's
from
0
to
10
.
(
Need
6
for
35 pt.
BONUS
)
│"
tr "│C
Threes
:
Any number of
3's
from
0
to
15
.
(
Need
9
for
35 pt.
BONUS
)
│"
tr "│C
Fours
:
Any number of
4's
from
0
to
20
.
(
Need
12
for
35 pt.
BONUS
)
│"
tr "│C
Fives
:
Any number of
5's
from
0
to
25
.
(
Need
15
for
35 pt.
BONUS
)
│"
tr "│C
Sixes
:
Any number of
6's
from
0
to
30
.
(
Need
18
for
35 pt.
BONUS
)
│"
tr "│
3 of a Kind
:
3
(
or more
)
dice showing the
SAME
Number.
(
Score
ALL
Dice
)
│"
tr "│
4 of a Kind
:
4
(
or more
)
dice showing the
SAME
Number.
(
Score
ALL
Dice
)
│"
tr "│
Full House
:
3
dice of
ONE
Number,
2
dice of
ANOTHER
Number.
(
Score
25
)
│"
se "│
Sm. Straight
:
Either
1
-
2
-
3
-
4
,
2
-
3
-
4
-
5
, or
3
-
4
-
5
-
6 "
tr "
on
4
dice.
(
Score
30
)
│"
se "│
Lg. Straight
:
Either
1
-
2
-
3
-
4
-
5
or
2
-
3
-
4
-
5
-
6
showing on
5 "
tr "
dice.
(
Score
40
)
│"
tr "│
YACHT-ZEE!
:
ALL
FIVE
(
5
)
DICE SHOWING THE
SAME
NUMBER!C
(
Score
50
)
│"
tr "│C
Chance
:
If you can use your Throw
NO WHERE ELSE
--
(
ADD
ALL 5
DICE
)
│"
tr "│C│"
tr "│
Multiple
Yacht-Zee!'s
are
not
supported yet! Can
YOU
make the
Top
5
List
?
│"
se "└─────────────────────────────
tap
─
enter
─
when
─
ready
───────────────────────────┘i1"
call SCREEN
signal PLAY
QUIT:
se '36Hc6You careally c6want to cdQuitc6? (cayc6/cbNc6)c9: '
gc ; a=result ; if a='Y' then do ; tr 'caYes!' ; exit ; end ; else tr 'cbNo.'sp
signal PLAY1
CHECK:
if result~='###PANIC' then return
tr 'f1n9ccYacht-Zee!n2c9Loss of Carrier!'
logentry 'No Carrier in Yacht-Zee!' ; bufferflush
exit
SYNTAX:;ERROR:;IOERR:;e1=' Error: 'rc' ('errortext(rc)')'
e2=' Line: 'left(sigl,4)'File:';gu 1311992;a=result;gu 1311960;b=result;c='"'a||b'"';e2=e2' 'c;tr e1;tr e2;logentry e1;logentry e2
e=sourceline(sigl);do while e~='';e3='Source: 'left(e,37);tr e3;logentry e3;e=substr(e,38);end;bufferflush;exit
/** Last Edited: 7-Oct-95 *************************************************\
\****************************************** Frontiers BBS (716)/823-9892 **/